//package com.baidu.yyb.Adapter;
//
//import android.annotation.SuppressLint;
//import android.content.Context;
//import android.view.LayoutInflater;
//import android.view.View;
//import android.view.ViewGroup;
//import android.widget.Button;
//import android.widget.CheckBox;
//import android.widget.CompoundButton;
//import android.widget.TextView;
//
//import androidx.annotation.NonNull;
//import androidx.recyclerview.widget.RecyclerView;
//
//import com.lt.noteui.R;
//
//import java.util.HashSet;
//
//
//public class recycleAdapter extends RecyclerView.Adapter<recycleAdapter.recycleHolder> implements View.OnClickListener, View.OnLongClickListener {
//    private ArrayList<NotesClassData> ArList;
//    private final Context mContext;
//    private OnItemCllikListener mListener;
//    private long LastTouchTime;
//    private Boolean isDeleteMode = false;
//    private TextView tv;
//    private Button btn_all,btn_reverse;
//    /***
//     * 保存CheckBook选择的数据
//     */
//    private  Set<NotesClassData> notesClassDataSet = new HashSet<>();
//
//
//    public recycleAdapter(Context context, ArrayList<NotesClassData> List) {
//        this.mContext = context;
//        ArList = List;
//
//    }
//
//    public Set<NotesClassData> getNotesClassDataSet() {
//        return notesClassDataSet;
//    }
//
//
//    public void setSelectSet(NotesClassData notesClassData) {
//        notesClassDataSet.add(notesClassData);
//    }
//
//    public void setTile(TextView tv) {
//        this.tv = tv;
//    }
//    public void addButton(Button btn_all,Button btn_reverse){
//        this.btn_all=btn_all;
//        this.btn_reverse=btn_reverse;
//    }
//
//    public void setRecycleClickListener(OnItemCllikListener onItemClickListener) {
//        mListener = onItemClickListener;
//    }
//
//    @NonNull
//    @Override
//    public recycleAdapter.recycleHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
//        return new recycleHolder(LayoutInflater.from(mContext).inflate(R.layout.layout_recycle_item, parent, false));
//    }
//
//    /***
//     * 避免重复点击
//     */
//    private boolean isDouble() {
//        long FirstTouchTime = System.currentTimeMillis();
//        if (Math.abs(FirstTouchTime - LastTouchTime) < 1000) {
//            return true;
//        }
//        LastTouchTime = FirstTouchTime;
//        return false;
//    }
//
//    /***
//     * 是否显示CheckBox
//     * @param isDeleteMode 是否是删除模式
//     */
//    public void setIsDeleteMode(Boolean isDeleteMode) {
//        this.isDeleteMode = isDeleteMode;
//        notifyDataSetChanged();
//    }
//
//    @SuppressLint("SetTextI18n")
//    @Override
//    public void onBindViewHolder(@NonNull recycleAdapter.recycleHolder holder, int position) {
//        final int pos=position;
//        if (ArList.size() > 0) {
//            NotesClassData dt = ArList.get(pos);
//            holder.setData(dt);
//
//            holder.checkBox.setVisibility(isDeleteMode ? View.VISIBLE : View.GONE);
//            if (isDeleteMode) {
//                holder.itemView.setOnClickListener(null);
//                holder.itemView.setOnLongClickListener(null);
//                holder.checkBox.setChecked(notesClassDataSet.contains(dt));
//                tv.setText("已选择 " + notesClassDataSet.size());
//                if (notesClassDataSet.size() == 0) {
//                    tv.setText("未选择 ");
//                } else {
//                    tv.setText("已选择 " + notesClassDataSet.size());
//                }
//                holder.checkBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
//                    @Override
//                    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
//                        if (buttonView.isChecked()) {
//                            if(buttonView.isShown()){
//                                notesClassDataSet.add(ArList.get(pos));
//                            }
//
//                        } else{
//                            if(buttonView.isShown()){
//                                notesClassDataSet.remove(ArList.get(pos));
//                            }
//                        }
//                        if(notesClassDataSet.size()>=ArList.size()){
//                            btn_all.setText("取消全选");
//                        }else {
//                            btn_all.setText("全选");
//                        }
//                        tv.setText("已选择 " + notesClassDataSet.size());
//                        if (notesClassDataSet.size() == 0) {
//                            tv.setText("未选择 ");
//                        } else {
//                            tv.setText("已选择 " + notesClassDataSet.size());
//                        }
//                    }
//                });
//
//                btn_all.setOnClickListener(new View.OnClickListener() {
//                    @Override
//                    public void onClick(View v) {
//                        selectALL();
//                        tv.setText("已选择 " + notesClassDataSet.size());
//                        if (notesClassDataSet.size() == 0) {
//                            tv.setText("未选择 ");
//                        } else {
//                            tv.setText("已选择 " + notesClassDataSet.size());
//                        }
//                        holder.setCheckBoxStatus(notesClassDataSet);
//                        notifyDataSetChanged();
//
//                    }
//                });
//                btn_reverse.setOnClickListener(new View.OnClickListener() {
//                    @Override
//                    public void onClick(View v) {
//                        SelectReverse();
//                        tv.setText("已选择 " + notesClassDataSet.size());
//                        if (notesClassDataSet.size() == 0) {
//                            tv.setText("未选择 ");
//                        } else {
//                            tv.setText("已选择 " + notesClassDataSet.size());
//                        }
//                        holder.setCheckBoxStatus(notesClassDataSet);
//                        notifyDataSetChanged();
//                    }
//                });
//            } else {
//                holder.checkBox.setOnCheckedChangeListener(null);
//                holder.itemView.setOnLongClickListener(this);
//                holder.itemView.setOnClickListener(this);
//            }
//            holder.itemView.setTag(ArList.get(pos));
//        }
//    }
//
//    @Override
//    public int getItemCount() {
//        return ArList.size();
//    }
//
//    public void selectALL() {
//        if (notesClassDataSet.size() >= ArList.size()) {
//            notesClassDataSet.clear();
//        }else {
//            notesClassDataSet.addAll(ArList);
//        }
//    }
//
//    public void SelectReverse() {
//        for (NotesClassData notesClassData : ArList) {
//            if (notesClassDataSet.contains(notesClassData)) {
//                notesClassDataSet.remove(notesClassData);
//            } else {
//                notesClassDataSet.add(notesClassData);
//            }
//        }
//    }
//
//    @Override
//    public void onClick(View v) {
//        if (!isDouble()) {
//            NotesClassData ncd = null;
//            ncd = (NotesClassData) v.getTag();
//            if (ncd != null && mListener != null) {
//                mListener.OnClick(ncd);
//            }
//        }
//    }
//
//    @Override
//    public boolean onLongClick(View v) {
//        NotesClassData ncd = null;
//        ncd = (NotesClassData) v.getTag();
//        if (ncd != null && mListener != null) {
//            mListener.OnLongClick(ncd);
//        }
//        return true;
//    }
//
//    public interface OnItemCllikListener {
//        void OnClick(NotesClassData ncd);
//        void OnLongClick(NotesClassData ncd);
//    }
//
//    class recycleHolder extends RecyclerView.ViewHolder {
//        private final TextView tv_top_content;
//        private final TextView tv_bottom_date;
//        private final CheckBox checkBox;
//
//        public recycleHolder(@NonNull View itemView) {
//            super(itemView);
//            tv_top_content = itemView.findViewById(R.id.rec_item_top);
//            tv_bottom_date = itemView.findViewById(R.id.rec_item_bottom);
//            checkBox = itemView.findViewById(R.id.itemCheckbox);
//        }
//
//        private void setData(NotesClassData data) {
//            tv_top_content.setText(data.notes_content);
//            tv_bottom_date.setText(data.notes_StrDate);
//        }
//        private void setCheckBoxStatus(Set<NotesClassData> checkBoxData)
//        {
//            checkBox.setChecked(checkBoxData.contains(ArList));
//        }
//    }
//}
